const api = require('../../utils/api'); // 确保路径正确，不要加.js后缀
Page({
    data: {
        isAuthorized: false,
        // userInfo: {},
        hasUserInfo: false, // 标识是否已获取到用户信息或手机号
        userInfo: null,
        code:'',
        showBtn:false,
        agree: false
      },
      goInsertInfo() {
        //跳转协议
        wx.navigateTo({
          url: '/pages/useragreement/useragreement'
        })
      },
      goInsertInfo1() {
        //跳转协议
        wx.navigateTo({
          url: '/pages/userprivacy/userprivacy'
        })
      },
      checkboxChange() {
        this.setData({
          agree: !this.data.agree
        })
      },
      goLogin(){
        if (!this.data.agree) {
          wx.showModal({
            title: '提示',
            content: '请仔细阅读《用户协议》及《用户隐私协议》并确认勾选以继续',
            showCancel: true, // 不显示取消按钮
            confirmText: '好的',
            confirmColor: '#91CFDC',
            success(res) {
              // 用户点击了“确认”按钮
              if (res.confirm) {
    
              }
            }
          });
          return
        }
      },
    handleGetPhoneNumber(e) {
        let that = this
          if (e.detail.errMsg === 'getPhoneNumber:ok') {
            // 用户同意授权，处理加密数据
          //   const encryptedData = e.detail.encryptedData;
          //   const iv = e.detail.iv; 
              that.yqmFirstLogin(e.detail.code)
          } else {
            wx.showModal({
              title: '提示',
              content: '您拒绝了授权手机号，则不能使用平台相关功能~',
              showCancel: true, // 不显示取消按钮
              confirmText: '了解了',
              confirmColor: '#91CFDC',
              success(res) {
                // 用户点击了“确认”按钮
                if (res.confirm) {
      
                }
              }
            });
            console.error('用户拒绝提供手机号');
          }
        },
    onLoad(options) {
        const url = decodeURIComponent(options.q)
        const queryString = url.substring(url.indexOf('?') + 1);
        const codeValue = queryString.split('=')[1];
        wx.showLoading({
            title: '加载中',
        })
        let that = this
        this.setData({
            code: codeValue
        })
        if(codeValue != '' && codeValue != undefined){
            //邀请码登录
            wx.login({
                success(loginRes) {
                   
                  wx.setStorageSync('code', loginRes.code) 
                  let _params={
                    code:loginRes.code,
                    invitationCode: that.data.code
                  }
                    api.yqmLogin(_params).then((res) => {
                        wx.hideLoading()
                        if (res.code == 200) {
                            wx.setStorageSync('token', `Bearer ${res.data.token}`) 
                            wx.switchTab({
                              url: '/pages/index/index', 
                            })
                        }else if (res.code == 409) {
                            wx.showModal({
                                title: '提示',
                                content: res.msg,
                                showCancel: false, // 不显示取消按钮
                                confirmText: '好的',
                                confirmColor: '#91CFDC', 
                                success(res) {
                                  // 用户点击了“确认”按钮
                                  if (res.confirm) {
                                    wx.switchTab({
                                      url: '/pages/index/index', 
                                    })
                                  }
                              }
                            });
                         
                        }else{
                          that.setData({
                            showBtn:true
                          })
                          wx.showToast({
                            title: `请绑定手机号`,
                            icon: 'none',
                            duration: 2000,
                          });
                        }
                    })
                    // 更新页面状态
                },
                fail(err) {
                    console.error("登录失败", err);
                }
            });
        }
    },
    yqmFirstLogin(phoneCode) {//邀请码第一次登录获取手机号
        api.yqmFirstLogin({
            loginCode: wx.getStorageSync('code'),
            phoneCode,
            invitationCode: this.data.code
        }).then(res => {
            console.log(res)
            if (res.code == 200) {
                wx.setStorageSync('token', `Bearer ${res.data.token}`)
                wx.switchTab({
                  url: '/pages/index/index', 
                })
            }else{
              wx.showToast({
                title: res.msg || '系统错误',
                icon: 'error',
                duration: 2000,
              });
            }
        })
    },
    getUserProfile() {
        const that = this;
        wx.getUserProfile({
            desc: '用于完善用户资料', // 必填，必须是用户友好的描述
            success(res) {
                console.log("用户信息:", res.userInfo);
                // 保存用户信息到本地缓存
                wx.setStorageSync('userInfo', res.userInfo);
                // 调用登录接口获取code
                wx.login({
                    success(loginRes) {
                        api.login({ code: loginRes.code }).then((res) => {
                            console.log('接口返回', res)
                        })
                        // 更新页面状态
                        that.setData({
                            isAuthorized: true,
                            userInfo: res.userInfo
                        });
                    },
                    fail(err) {
                        console.error("登录失败", err);
                    }
                });
            },
            fail(err) {
                console.error("获取用户信息失败", err);
            }
        });
    }
});
// Page({
//   data: {
//     userInfo: null,
//     hasUserInfo: false,
//   },

//   onLoad() {
//     // 检查是否已经授权
//     wx.getSetting({
//       success: res => {
//         if (res.authSetting['scope.userInfo']) {
//           // 已经授权，可以直接调用 getUserProfile 获取用户信息
//           this.onGetUserInfo(res);
//         }
//       }
//     });
//   },

//   onGetUserInfo(e) {
//     if (e.detail.userInfo) {
//       this.setData({
//         userInfo: e.detail.userInfo,
//         hasUserInfo: true
//       });

//       // 调用 wx.login 获取登录凭证
//       wx.login({
//         success: res => {
//           if (res.code) {
//               console.log('拿到用户code',res)
//             // 将 code 和用户信息发送到服务器
//             // wx.request({
//             //   url: 'http://47.104.128.67:8080/supermarket/mobile/xcxLogin', // 替换为实际的服务器地址
//             //   method: 'POST',
//             //   data: {
//             //     code: res.code,
//             //     userInfo: this.data.userInfo
//             //   },
//             //   success: res => {
//             //     console.log('Login and user info success:', res.data);
//             //     // 处理服务器返回的数据，例如保存 session_key 等
//             //   },
//             //   fail: err => {
//             //     console.error('Login and user info failed:', err);
//             //   }
//             // });
//           } else {
//             console.error('Login failed:', res.errMsg);
//           }
//         }
//       });
//     } else {
//       console.log('User refused to provide information');
//     }
//   }
// });